//
//  KLICache.h
//  KoalaUtilKit
//
//  Created by Tommy on 15/1/13.
//  Copyright (c) 2015年 Koala Team. All rights reserved.
//

#import <Foundation/Foundation.h>
@class RACSignal;

@protocol KLICache <NSObject>


- (RACSignal*)clearAll;
- (RACSignal*)clearExpired:(NSDate*)date;
- (RACSignal*)objectForKey:(NSString*)key;
- (RACSignal*)setObject:(id <NSCoding>)object forKey:(NSString *)key;
- (RACSignal*)removeObjectForKey:(NSString*)key;

@optional

- (RACSignal*)hasObjectForKey:(id)key;
- (RACSignal*)objectForKeyedSubscript:(id)key;
- (RACSignal*)setObject:(id)obj forKeyedSubscript:(id)key;

@end
